#ifndef		__GENE_DEFINITIONS__
#define		__GENE_DEFINITIONS__

namespace Gene
{

	//	Use default IData implementation as	GeneStaticData
	//
	//	GroupID as Gene Class ID
	//  DataX	as Gene Mutex Rule
	//	DataY	as Gene Mutex Group
	//	DataZ	as Gene Time To Live (Duration)

	enum DataIndex
	{
		Idx_InheritFrom,
		Idx_Data1,
		Idx_Data2,
		Idx_Data3,
		Idx_Data4,
		Idx_Data5,
		// ...
		// ...
	};


	//
	//	Gene Mutex Rule
	//
	enum MutexRule
	{
		MR_Null,
		MR_Replace,
		MR_CannotReplace,
		MR_StackByList,
		MR_StackByListLimited,
		MR_StackByMap,
		MR_StackByMapLimited,
		MR_CompareID,
		MR_CompareData1,
		MR_CompareData2,
		MR_CompareData3,
		MR_CompareData4,
	};

	enum GeneClass
	{
		GCLS_,
	}
}

#endif
